#pragma once

#include "StateData.h"

class CStateGraphData : public CStateData
{
	DECLARE_RTTI_CLASS( CStateGraphData, CStateData::GetRTTI( ) );

	//================================== METHODS ==============================

public:
	CStateGraphData();
	const CStateDataPtr &GetStateData(u32_t idx);
	u32_t GetSizeStatesData();
	const CStateDataPtr &GetInitialStateData();

	//================================ DATA MEMBERS ===========================

private:
	CStateDataPtr		m_vInitialStateData;
	TStateDataList		m_vStatesData;
};

//============================== TYPE DEFINITIONS =========================

typedef SmartPtr<CStateGraphData> CStateGraphDataPtr;